Some machine vision systems may include alignment software, which may simplify work piece alignment for various manufacturing processes. In a multi-view alignment application, each view may contribute to the alignment by using a sub-model, or a portion of the global model. The correctness of the alignment is highly dependent on the correct finding of each and every sub-model. However, the sub-model itself (e.g. its shape) may not be sufficiently distinctive to ensure a reliable finding from the individual view. For example, distractive objects having a similar look to the sub-model may be present in an individual view, giving a traditional vision tool a hard time to find the correct sub-model from the view.
Some existing methods are configured to address applications having multiple views. Some of these may find a sub-model (e.g. a straight line) from each image, without applying global constraints. Instead, these methods may select the sub-models solely based on local heuristics, such as edge contrast, edge locations relative to the image, etc. These methods can be prone to false sub-model findings when distracting features are present in the images.
Another way of applying global constraints is to “stitch” all images together. Stitching generally refers to a process that can be used to generate a larger image, which includes multiple views as sub-images. The stitched image may have large areas of invalid pixels in the regions that are not covered by any view. A single-view alignment tool can then be applied to the stitched image to work out the alignment. This is doable when the multiple views are close enough, but is troublesome when the views are placed extremely distantly from one another. Stitching of images from sparsely placed views can cause very big image sizes or unrealistic parameterization of the single-view alignment tool.